0 REM << RR42-3 >> 100 REM================================= 110 PRINT"[147] SWITCH BOUNCE" 120 REM RUPERT REPORT #42 130 REM FOR C128/C64 140 REM USE 40-COLUMN DISPLAY 150 PRINT"PLUG JOYSTICK INTO PORT 2" 160 PRINT"PRESS JOYSTICK BUTTON AND SEE" 170 PRINT"A DISPLAY OF SWITCH BOUNCE." 180 REM TO EXIT, HOLD RUN/STOP THEN 190 REM PRESS JOYSTICK BUTTON 200 REM================================= 220 M=5072 230 READ B$ 240 IF B$="XX" THEN 340 250 REM -------------------------------- 260 REM FOR C64 CHANGE LINE 290 270 REM TO GOSUB 500 280 REM -------------------------------- 290 GOSUB 500 300 CK=CK+B :REM CHECKSUM 310 POKE M,B 320 M=M+1 330 GOTO 230 340 IF CK<>6226 THEN PRINT"DATA ERROR" : STOP 350 PRINT"USE 40-COLUMN SCREEN. "; 360 PRINT"PUT JOYSTICK INTO PORT 2. "; 370 FOR L=3 TO 20 : PRINT : NEXT 380 PRINT"PRESS JOYSTICK BUTTON" 390 SYS 5072 400 FOR N=1 TO 38 :PRINT" ";:NEXT :PRINT"[145]" 410 PRINT"OR HOLD RUN/STOP & PRESS BUTTON TO EXIT[145]" 420 GOTO 390 430 END 500 REM --LINES 500-600 FOR C64 ONLY---- 510 REM CONVERT HEX TO DECIMAL 520 MS$=LEFT$(B$,1) 530 LS$=RIGHT$(B$,1) 540 MS=VAL(MS$) 550 IF MS$>="A" THEN MS=ASC(MS$)-55 560 LS=VAL(LS$) 570 IF LS$>="A" THEN LS=ASC(LS$)-55 580 B=MS*16+LS 590 RETURN 600 REM -------------------------------- 5072 DATA A9, 00, 85, FB, A9, 04, 85, FC 5080 DATA A0, 00, A2, 07, A9, 10, 2C, 00 5088 DATA DC, D0, FB, A9, 10, 2C, 00, DC 5096 DATA F0, 04, A9, 31, D0, 02, A9, 30 5104 DATA 91, FB, C8, D0, EE, E6, FC, E4 5112 DATA FC, D0, E8, 60 5116 DATA XX